草庐IT

python - Emacs python 模式

全部标签

python - dateTime 提示 XSD 验证中的空白 (lxml)

我正在尝试使用XSD验证文档,而lxml提示dateTime值中的空白(尽管它应该折叠它)。我不确定这是否是一个错误的行为,或者我是否只是在XSD中指定了错误的地方。花了一个小时尝试对此进行调试,希望其他人之前经历过类似的行为。======================================================================ERROR[0.076s]:test_exports(disqus.importer.tests.tests.SchemaValidation)----------------------------------------

python - ElementTree XPath 奇怪的行为

你好我在Python2.7中使用ElementTree(1.3)并享受XPath功能,然而,其中一个搜索结果让我感到惊讶。我的XML示例:问题一:当我使用findall获取第一个找到的元素时version="2.2.0.0"found=list(txml.findall(".//BackEnd[@version='%s']"%version))returnfoundandfound[0]orNone它什么也没找到。然而,当我更改XML文件时,BackEnd元素包含子元素,然后正确找到搜索到的元素。你遇到过这样的行为吗?我是不是做错了什么或者这是ElementTree实现中的错误?问题二

python - 如何使用任何 xml 库替换节点的全部内容?

我正在尝试使用Python解析xml文件,但我有一些标签可能包含xml数据。例如:我想这样写CDATA标签:]]>我试过(使用lxml):a=etree.fromstring(data)foreina.findall("code"):e.text=etree.CDATA(etree.tostring(e))但是我得到:]]> 最佳答案 您的替换代码找到了元素并将其序列化为元素的新文本​​。您似乎只想包含的子元素,虽然。尝试设置e.text至CDATA(e.text)而不是序列化e的结果.

java - 如何使用模式验证我的 XML,JAXB 的 XMLStreamReader 一次只读取一个对象/元素?

下面的代码可以正确地一次从一个对象的流中解码XML。但是当我取消对unmarshaller.setSchema(schema)行的注释时,程序会抛出异常:[org.xml.sax.SAXParseException:cvc-elt.1:Cannotfindthedeclarationofelement'Subscriber'.]我已经使用javax.xml.validation.Validator类验证了XML,但我的目标是同时验证和解码,一次一个元素。这是我当前的代码:SchemaFactorysf=SchemaFactory.newInstance(XMLConstants.W3C

xml - 在 XML 模式 (XSD) 中引用多个 ID

我想知道是否可以区分XML架构中的ID字段。我有以下架构:但是,引用文献并不是唯一地链接到各自的定义。我仍然可以编写以下废话但有效的XML:有没有办法使用ID和IDREF正确链接字段,例如使用命名空间?我知道我可以只使用key和keyref,但ID对我来说更有吸引力。 最佳答案 不,我不认为这是可能的。http://www.w3.org/TR/xmlschema-2/#ID和http://www.w3.org/TR/xmlschema-2/#IDREF假设ID和IDREF属性类型来自XML标准,并且http://www.w3.org

python - 如何输出 XML 实体引用

我正在使用Pythonxml.etree.ElementTree输出XML。我想用实体引用输出它,这些实体引用将在解析XML时被替换。通常'&'被转义为&因为'&'用于声明实体引用。但是,我真的想写一个实体引用。例如,我想编写一个包含实体引用&manifestName;的XML文件:>>>fromxml.etree.ElementTreeimportElement,tostring>>>manifest=Element('manifest')>>>manifest.text='&manifestName;'>>>tostring(manifest)返回一个转义的符号:'&man

php - 可选的正则表达式模式不产生任何值

我在为我的一个项目所做的一些正则表达式方面遇到了一些问题(请记住,我是正则表达式的初学者,这在以下示例中显示)。我在尝试使用关联模式从中提取某些部分的xml代码时遇到了一些问题。我使用以下正则表达式通过preg_match_all获取piclink、urlactive、urltarget、urllink和timevar:/piclink=\"(?.+)\".+urltarget=\"(?.+)\".+urllink=\"(?.*)\".+timevar=\"(?.*)\"/iU到目前为止,一切正常,但是,我现在正尝试通过关联捕获名称和alt标签,这些标签是可选的,因为它们并不总是出现。

python - 使用 lxml 有效地计算非常大的 XML 文档中的元素

我有一个非常大(1.8GB)的XML文档。我想简单地找到带有标签的元素数量.我已经做到了:context=etree.iterparse('./test.xml',tag='Product')num_elems=0forevent,elemincontext:num_elems+=1printnum_elems它有效,但是有没有更快的方法呢? 最佳答案 因为这有效,我认为内存使用不是问题(iterparse将在内存中构建整个文件的树,除非您在迭代时修剪它要素)。在那种情况下,省去在Python中迭代和计数的麻烦,让LXML/libx

python - 当输入开始标记时,lxml 的解析器目标不会立即触发 'start' 回调

我试图使用lxml的parsertargetinterface逐步将XML解析为“自定义”树,我遇到了以下问题:如果您实例化解析器并立即将根元素的开始标记提供给它,则目标的“开始”回调不会触发,直到任何其他事件发生(例如传入数据、结束标记、另一个开始标记等)。这似乎不会发生在任何其他(嵌套)元素上。演示:classEchoTarget(object):defstart(self,tag,attrib):print("start%s%s"%(tag,attrib))defend(self,tag):print("end%s"%tag)defdata(self,data):print("d

ruby - 如何在恢复模式下运行 ruby​​ SAX 解析器?

我有一个相当大的XML文档,我想从中提取一些信息。它太大而无法保存在内存中,所以我认为SAX解析器比较合适。不幸的是,制作XML文档的人没有仔细阅读规范,因此它包含一些非法的XML实体(如)。不过,除此之外,据我所知,它还不错。对于任何依赖libxml的库,errorslikethesewilldisablefutureSAXprocessingunlesstheyareruninrecoverymode/**[WFC:LegalCharacter]*Charactersreferredtousingcharacterreferencesmustmatchthe*product